home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / libs / phigs / ptk.lha / ptk / fortran / source / library / ftoc.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-18  |  7.1 KB  |  271 lines

  1. /*--------------------------------------------------------------------------*/
  2.  
  3. #include <stdio.h>
  4. #include <math.h>
  5. #include <phigs.h>
  6. #include "ptk.h"
  7.  
  8. /*--------------------------------------------------------------------------*/
  9. /*-------------------------- returning reals -------------------------------*/
  10.  
  11. extern FLOATFUNCTIONTYPE ptkc_readfloat(ws, defreal, prompt, echoarea)
  12. Pint ws;
  13. Pfloat defreal;
  14. char *prompt;
  15. Plimit *echoarea;
  16. {
  17.   RETURNFLOAT(ptk_readfloat(ws, defreal, prompt, echoarea));
  18. }  /* ptkc_readfloat */
  19.  
  20. /*--------------------------------------------------------------------------*/
  21. /*---------------------- variable length arrays ----------------------------*/
  22.  
  23. extern ptkboolean ptkc_pickscanmenus(ippd, pp, ppordr, menuid, itemnum)
  24. Pint ippd;
  25. Ppick_path_elem *pp;
  26. Pint ppordr;
  27. Pint *menuid, *itemnum;
  28. {
  29.   Ppick_path pickpath;
  30.   Pint i;
  31.   ptkboolean result;
  32.  
  33.   pickpath.depth = ippd;
  34.   pickpath.path_list = pp;
  35.   result = ptk_pickscanmenus(&pickpath, ppordr, menuid, itemnum);
  36.   free(pickpath.path_list);
  37.   return result;
  38. }  /* ptkc_pickscanmenus */
  39.  
  40. /*--------------------------------------------------------------------------*/
  41.  
  42. extern void ptkc_inqpostedmenus(wsid, num, menuids, totalnum, err)
  43. Pint wsid, num, *menuids, *totalnum, *err;
  44. {
  45.   Pint_list menuidlst;
  46.  
  47.   menuidlst.num_ints = num;
  48.   menuidlst.ints = menuids;
  49.   ptk_inqpostedmenus(wsid, num, &menuidlst, totalnum, err);
  50. }  /* ptkc_inqpostedmenus */
  51.  
  52. /*--------------------------------------------------------------------------*/
  53.  
  54. extern void ptkc_inqmenuids(num, menuids, totalnum, err)
  55. Pint num, *menuids, *totalnum, *err;
  56. {
  57.   Pint_list menuidlst;
  58.  
  59.   menuidlst.num_ints = num;
  60.   menuidlst.ints = menuids;
  61.   ptk_inqmenuids(num, &menuidlst, totalnum, err);
  62. }  /* ptk_inqmenuids */
  63.  
  64. /*--------------------------------------------------------------------------*/
  65.  
  66. extern void ptkc_inqpostedtopologies(wsid, num, topids, totalnum)
  67. Pint wsid, num, *topids, *totalnum;
  68. {
  69.   Pint_list topidlst;
  70.  
  71.   topidlst.num_ints = num;
  72.   topidlst.ints = topids;
  73.   ptk_inqpostedtopologies(wsid, num, &topidlst, totalnum);
  74. }  /* ptkc_inqpostedtopologies */
  75.  
  76. /*--------------------------------------------------------------------------*/
  77.  
  78. extern void ptkc_inqtopologyids(num, topids, totalnum)
  79. Pint num, *topids, *totalnum;
  80. {
  81.   Pint_list topidlst;
  82.  
  83.   topidlst.num_ints = num;
  84.   topidlst.ints = topids;
  85.   ptk_inqtopologyids(num, &topidlst, totalnum);
  86. }  /* ptk_inqtopologyids */
  87.  
  88. /*--------------------------------------------------------------------------*/
  89.  
  90. extern void ptkc_writestruct(fileptr, num, stids)
  91. FILE *fileptr;
  92. Pint num, *stids;
  93. {
  94.   Pint_list stidlst;
  95.  
  96.   stidlst.num_ints = num;
  97.   stidlst.ints = stids;
  98.   ptk_writestruct(fileptr, &stidlst);
  99. }  /* ptkc_writestruct */
  100.  
  101. /*--------------------------------------------------------------------------*/
  102.  
  103. extern void ptkc_writestructnet(fileptr, num, stids)
  104. FILE *fileptr;
  105. Pint num, *stids;
  106. {
  107.   Pint_list stidlst;
  108.  
  109.   stidlst.num_ints = num;
  110.   stidlst.ints = stids;
  111.   ptk_writestructnet(fileptr, &stidlst);
  112. }  /* ptkc_writestructnet */
  113.  
  114. /*--------------------------------------------------------------------------*/
  115.  
  116. extern void ptkc_inqpostedwindows(wsid, num, windowids, totalnum)
  117. Pint wsid, num, *windowids, *totalnum;
  118. {
  119.   Pint_list windidlst;
  120.  
  121.   windidlst.num_ints = num;
  122.   windidlst.ints = windowids;
  123.   ptk_inqpostedwindows(wsid, num, &windidlst, totalnum);
  124. }  /* ptkc_inqpostedwindows */
  125.  
  126. /*--------------------------------------------------------------------------*/
  127.  
  128. extern void ptkc_inqwindowids(num, windowids, totalnum)
  129. Pint num, *windowids, *totalnum;
  130. {
  131.   Pint_list windidlst;
  132.  
  133.   windidlst.num_ints = num;
  134.   windidlst.ints = windowids;
  135.   ptk_inqwindowids(num, &windidlst, totalnum);
  136. }  /* ptkc_inqwindowids */
  137.  
  138. /*--------------------------------------------------------------------------*/
  139.  
  140. extern void ptkc_setcameraworld(windid, num, stids)
  141. Pint windid, num, *stids;
  142. {
  143.   Pint_list stidlst;
  144.  
  145.   stidlst.num_ints = num;
  146.   stidlst.ints = stids;
  147.   ptk_setcameraworld(windid, &stidlst);
  148. }  /* ptkc_setcameraworld */
  149.  
  150. /*--------------------------------------------------------------------------*/
  151.  
  152. extern void ptkc_inqwindowviewrep(windid, vwormt,
  153.   vwmpmt, vwcplm, xyclpi, bclipi, fclipi, err)
  154. Pint windid;
  155. Pmatrix3 vwormt, vwmpmt;
  156. Plimit3 *vwcplm;
  157. Pint *xyclpi, *bclipi, *fclipi, *err;
  158. {
  159.   Pview_rep3 rep;
  160.  
  161.   ptk_inqwindowviewrep(windid, &rep, err);
  162.   memcpy(vwormt, rep.ori_matrix, sizeof(Pmatrix3));
  163.   memcpy(vwmpmt, rep.map_matrix, sizeof(Pmatrix3));
  164.   *vwcplm = rep.clip_limit;
  165.   *xyclpi = rep.xy_clip;
  166.   *bclipi = rep.back_clip;
  167.   *fclipi = rep.front_clip;
  168. }  /* ptkc_inqwindowviewrep */
  169.  
  170. /*--------------------------------------------------------------------------*/
  171.  
  172. extern void ptkc_vieweditor(wsid, num, stids, vwormt, vwmpmt, 
  173.                             vwcplm, xyclpi, bclipi, fclipi)
  174. Pint wsid, num, *stids;
  175. Pmatrix3 vwormt, vwmpmt;
  176. Plimit3 *vwcplm;
  177. Pint *xyclpi, *bclipi, *fclipi;
  178. {
  179.   Pint_list stidlst;
  180.   Pview_rep3 vrep;
  181.  
  182.   stidlst.num_ints = num;
  183.   stidlst.ints = stids;
  184.   ptk_vieweditor(wsid, &stidlst, &vrep);
  185.   memcpy(vwormt, vrep.ori_matrix, sizeof(Pmatrix3));
  186.   memcpy(vwmpmt, vrep.map_matrix, sizeof(Pmatrix3));
  187.   *vwcplm = vrep.clip_limit;
  188.   *xyclpi = vrep.xy_clip;
  189.   *bclipi = vrep.back_clip;
  190.   *fclipi = vrep.front_clip;
  191. }  /* ptkc_vieweditor */
  192.  
  193. /*--------------------------------------------------------------------------*/
  194.  
  195. extern void ptkc_inqstructnetids(structid, num, ids, totalnum)
  196. Pint structid, num, *ids, *totalnum;
  197. {
  198.   Pint_list idlst;
  199.  
  200.   idlst.num_ints = num;
  201.   idlst.ints = ids;
  202.   ptk_inqstructnetids(structid, num, &idlst, totalnum);
  203. }  /* ptkc_inqstructnetids */
  204.  
  205. /*--------------------------------------------------------------------------*/
  206.  
  207. extern void ptkc_inqtslnameset(num, nameset, totalnum)
  208. Pint num, *nameset, *totalnum;
  209. {
  210.   Pint_list names;
  211.  
  212.   names.num_ints = num;
  213.   names.ints = nameset;
  214.   ptk_inqtslnameset(num, &names, totalnum);
  215. }  /* ptkc_inqtslnameset */
  216.  
  217. /*--------------------------------------------------------------------------*/
  218.  
  219. extern FILE * ptkc_fopen(filename, type)
  220. char *filename, *type;
  221. {
  222.   FILE *temp;
  223.  
  224.   temp = fopen(filename, type);
  225.   return temp;
  226. }  /* ptkc_fopen */
  227.  
  228. /*--------------------------------------------------------------------------*/
  229.  
  230. extern Pint ptkc_fclose(fileptr)
  231. FILE *fileptr;
  232. {
  233.   return fclose(fileptr);
  234. }  /* ptkc_fclose */
  235.  
  236. /*--------------------------------------------------------------------------*/
  237.  
  238. extern void ptkc_openfile(filename, type, fileptr)
  239. char *filename;
  240. char *type;
  241. FILE **fileptr;
  242. {
  243.   if (strncmp(filename, "stdout", 6) == 0)
  244.     *fileptr = stdout;
  245.   else
  246.   if (strncmp(filename, "stdin", 5) == 0)
  247.     *fileptr = stdout;
  248.   else
  249.   if (strncmp(filename, "stderr", 6) == 0)
  250.     *fileptr = stderr;
  251.   else
  252.   *fileptr = fopen(filename, type);
  253. }  /* ptkc_openfile */
  254.  
  255. /*--------------------------------------------------------------------------*/
  256.  
  257. extern void ptkc_closefile(filename, fileptr)
  258. char *filename;
  259. FILE **fileptr;
  260. {
  261.   if ((strncmp(filename, "stdout", 6) != 0) &&
  262.       (strncmp(filename, "stdin", 5) != 0) &&
  263.       (strncmp(filename, "stderr", 6) != 0))
  264.     fclose(*fileptr);
  265. }  /* ptkc_closefile */
  266.  
  267. /*--------------------------------------------------------------------------*/
  268.  
  269. /* end of ftoc.c */
  270.  
  271.